/////////////////////////////////////////////////////////////////////
//
//  MOE Framework (Meta Object Encapsulation Framework)
//
//  Original Author: Wiksy Wang, 2011
//
/////////////////////////////////////////////////////////////////////

#ifndef MOE_CLASS_META_PROXY_HPP
#define MOE_CLASS_META_PROXY_HPP

namespace MOE
{

class ClassMeta;

class ClassMetaProxy
{
public:
	explicit ClassMetaProxy(ClassMeta* meta)
		: _metaPtr(meta)
	{
	}

	bool IsValid() const
	{
		return _metaPtr != 0;
	}

	operator ClassMeta&() const
	{
		return *_metaPtr;
	}

private:
	ClassMeta* _metaPtr;
};

}

#endif
